﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PServiceBus.Core.Runtime;
using PServiceBus.Core.Runtime.Messages;
using PServiceBus.Core.Runtime.Transports;

namespace PServiceBus.Core.Interface {
    /// <summary>
    /// Contains information about a message that was will be/processed by the service bus
    /// </summary>
    public interface IMessage : IIdentifiable {
        /// <summary>
        /// Gets or sets the message that was processed.
        /// </summary>
        /// <value>The message.</value>
        TransportMessage Message { get; set; }
        /// <summary>
        /// Gets or sets the date the message was created
        /// </summary>
        /// <value>The create date.</value>
        DateTime CreateDate { get; set; }
        /// <summary>
        /// Gets or sets the topic ID that generated the message.
        /// </summary>
        /// <value>The topic ID.</value>
        Guid TopicID { get; set; }
    }
}
